﻿using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using UFIDA.U9.AP.Enums;
using UFIDA.U9.CBO.FI.Enums;
using UFIDA.U9.CBO.SCM.Item;
using UFIDA.U9.SM.SO;
using UFSoft.UBF.Business;
using UFSoft.UBF.Eventing;
using UFSoft.UBF.Util.DataAccess;

namespace UFIDA.U9.CusDev.QJKJPlugInBE
{
    class ProcessForSOtonull : IEventSubscriber
    {
        public void Notify(params object[] args)
        {

            if (args == null || args.Length == 0 || !(args[0] is UFSoft.UBF.Business.EntityEvent)) return;
            BusinessEntity.EntityKey key = ((UFSoft.UBF.Business.EntityEvent)args[0]).EntityKey;

            if (key == null || key.GetEntity() == null) return;
            //销售订单
            UFIDA.U9.SM.SO.SO so = key.GetEntity() as UFIDA.U9.SM.SO.SO;
            if (so == null) return;

            #region 复制清空销售订单:附件清单,单据状态,审批意见
            
            if (so.OriginalData.Status == SODocStatusEnum.Open && so.Status == SODocStatusEnum.Approving)
            {

                //清空oa标识

                    so.DescFlexField.PubDescSeg6 = "";

                //添加单据提交次数回写
                int n = 1;
                if (so.DescFlexField.PubDescSeg8 == "")
                {

                    so.DescFlexField.PubDescSeg8 = n.ToString();
                }
                else
                {
                    so.DescFlexField.PubDescSeg8 = (decimal.Parse(so.DescFlexField.PubDescSeg8) + n).ToString();
                }

            }
            if (so.Status == SODocStatusEnum.Open)
            {
                //清空审批意见
                so.DescFlexField.PrivateDescSeg5 = "";
                //清空附件

                so.DescFlexField.PrivateDescSeg6 = "";

                if(so.SysState == UFSoft.UBF.PL.Engine.ObjectState.Inserted)
                {
                    //新增保存时,清空
                    so.DescFlexField.PubDescSeg8 = "";
                }
                


            }






            #endregion

        }

    }
}
